//go:build wireinject
// +build wireinject

package handler

import (
	"gitee.com/Luna-CY/Golang-Project-Template/entry/http/gateway/example/handler/basic"
	"gitee.com/Luna-CY/Golang-Project-Template/entry/http/gateway/example/handler/example"
	"gitee.com/Luna-CY/Golang-Project-Template/internal/wireinject"
	"github.com/google/wire"
)

func NewBasic() *basic.Basic {
	panic(wire.Build(
		wireinject.StorageService, wireinject.SmtpService, wireinject.SmsService,
		wireinject.CacheSingle, wireinject.CaptchaLogic, wireinject.NoticeLogic,
		basic.New,
	))
}

func NewExample() *example.Example {
	panic(wire.Build(
		wireinject.ExampleService, wireinject.StorageService,
		wireinject.CaptchaLogic, wireinject.CacheSingle,
		example.New,
	))
}
